// 如果测试函数是‘Helloworld!Thisisatest.Helloagain,world.’
// 又是不同的做法，可以进行遍历用substring进行提取


function countWordOccurrences(text, word) {
    // 1. 移除字符串两端的空格（可选，但有助于处理空格问题）
    text = text.trim();
    // 把一些特殊标点符号都换成空格了
    text=text.replace(/[^0-9a-zA-Z]/g," ")
    let words = text.split(' ');

    // 把数组中的空格过滤掉
    words= words.filter(item=>item)
    // 3. 初始化计数器
    let count = 0;
    console.log(words);
    
    // 4. 遍历数组，比较每个单词
    for (let i = 0; i < words.length; i++) {
        // 将数组中的单词和目标单词都转换为小写（忽略大小写差异）
        // 如果你需要区分大小写，可以省略这一步
        if (words[i].toLowerCase() === word.toLowerCase()) {
            count++;
        }
    }
    
    // 5. 返回计数结果
    return count;
}

// 测试函数
const text = "Hello world! This is a test. Hello again, world.";
const word = "test"; // 注意：这里我们用小写来测试忽略大小写的情况
const occurrences = countWordOccurrences(text, word);
console.log(`The word "${word}" occurs ${occurrences} times.`);


// 16_手写字符串中查找单词出现次数
let str='helloworld.huhu,Hello'
function findRepeatWord(str,word){
   let count=0;str=str.toLowerCase()
   for(let i=0;i<str.length;i++){
    if(str.substring(i,i+5)===word){
        count++
    }
   }
   return count
}
console.log(findRepeatWord(str,'hello'));